白話解釋就是如果這樣 就會那樣
var age = 20;
if (age >= 18) {
console.log('已成年');
}else {
console.log('未成年');
}
上面所寫就是一個流程控制;
if (age >= 18) 如果條件判斷為true ,執行第一組大括弧裡面的條件敘述 console.log('已成年')
反之
執行第二組大括弧的條件敘述 console.log('未成年')
執行決策 會包含兩個元件:
1.對運算事進行評估,並回傳一個結果值。
2.條件敘述需描述在該情況下應該執行的工作
更多的述句 如果這樣 不然那樣 不然這樣
var age = 20;
if (age >= 18) {
console.log('已成年');
} else if ((age >= 12) && (age < 18)) {
console.log('青少年');
} else {
console.log('⼩朋友');
}
還有一種三元運算子
var age = 20;
var result = (age >= 18) ? true : false;
console.log(result);
如果 (age >= 18) 成立就會 進行? '成年⼈' 不然就是: '未成年'
等同於:
if(age >= 18){
result =true;
}else{
result =false;
}
switch(level){
case 'one':
title ='level 1';
break;
case 'two':
title ='level 2';
break;
case 'three':
title ='level 3';
break;
default:
title ='test';
break;
}
條件是判斷是放在一個大括弧,其中冒號可將案例條件與該案例對應程式碼分隔
每隔案例最後以break 關鍵字結束
就表示 條件判斷句已結束 繼續進行後續程式碼。
0 / undefined / null / 空字串 / NaN
以上邏輯判斷都會判斷為false
使用 prompt() 讓使用者輸入西元年份(例如 2014),計算輸入的年份
是否為潤年。
公式:年份可以被 4 整除而不可被 100 整除,但又可以被 400 整
除
var year = prompt("請輸入年分")
console.log("year="+year)
if(year%4===0 && year%100!===0 || year%100 ===0)
{
console.log(year+"潤年");
}else{
console.log(year+"不是潤年");
}
以上練習包含邏輯運算式
== | != | === | !== |
---|---|---|---|
等於 | 不等於 | 嚴格等於 | 嚴格不等於 |
三個等號 === 會比較資料型別跟值均相等
== 和 ===差異性 上一篇都有講,所以就不重複了
> | < | >= | <= |
---|---|---|---|
大於 | 小於 | 大於等於 | 小於等於 |
&& | || | ! |
---|---|---|
AND 邏輯運算子 | OR 邏輯運算子 | Not 邏輯運算子 |
((2<5)&& (3>=2)) true | ((2<5)&& (2<1)) false | !(2<1) true |
|| 可以測試至少一個條件,只要憑一邊運算式評估為true就為true,
如果兩邊都評估為false那此運算式就為false
! 此運算子會反轉運算式的狀態。如果是false(前面沒有!)
它將會是true。如果敘述句為true 它就會是false
! true 為 false
!false 為 true
邏輯運算子是由左至右執行評估。 如果第一個條件可以提估足夠資訊,
那麼就不需要再評估第二個條件
false && anything 評估第一個條件為false
那其他已不可能都為true 結果值一定為false
true || anything 評估第一個條件為true
已知至少有一個值為true 故運算式結果值為true